package com.heihei.demo06;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.geometry.Rectangle2D;
import javafx.stage.Screen;
import javafx.stage.Stage;

/**
 *  Screen 类
 *
 * @version 1.0
 * @since JDK1.8
 * @author duanhengfei
 * @date 2021年03月12日 10:12:18
 */
public class ScreenDemo extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        Screen screen = Screen.getPrimary();

        double dpi = screen.getDpi();
        System.out.println("当前屏幕DPI：" + dpi);


        //整个屏幕的宽度和高度
        Rectangle2D rec1 = screen.getBounds();
        //可视范围的屏幕宽度和高度
        Rectangle2D rec2 = screen.getVisualBounds();


        //注：可以发现，可用区域的高，比全部屏幕的高，少了40px
        //这40px，应该是windows底部的任务栏

        System.out.println("全部屏幕：");
        System.out.println("左上角X：" + rec1.getMinX() + "   左上角Y：" + rec1.getMinY());
        System.out.println("右下角X：" + rec1.getMaxX() + "   右下角Y：" + rec1.getMaxY());
        System.out.println("宽度：" + rec1.getWidth() + "   高度：" + rec1.getHeight());


        System.out.println("可视区域屏幕屏幕：");
        System.out.println("左上角X：" + rec2.getMinX() + "   左上角Y：" + rec2.getMinY());
        System.out.println("右下角X：" + rec2.getMaxX() + "   右下角Y：" + rec2.getMaxY());
        System.out.println("宽度：" + rec2.getWidth() + "   高度：" + rec2.getHeight());


        Platform.exit();

    }
}